Today's Question:  What does your personal desk look like?        GIVE A SHOUT

SEARCH KEYWORD -- Foundation design



  How I Learned to Program Computers

I’ve been asked this question a lot lately, especially after I built YouTube Instant. So, here’s the answer, once and for all, for those who are interested.In short:I learned how to program by building lots of websites.The full story:I learned how to program by working on lots of different website projects starting from a pretty young age. What follows is a full account of all the major websites I’ve built, back to the very first site I made when I was 11 years old. Wha...

   Programming,Computer,Tips,Feross Aboukhadijeh     2011-10-17 10:25:32

  Understand GoLang WaitGroup internals and how it works

Background Before getting into the main content, let me give a brief introduction to WaitGroup and its related background knowledge. Here, the focus is on the basic usage of WaitGroup and the fundamental knowledge of system semaphores. For those who are familiar with these, you can skip this section directly. WaitGroup WaitGroup is one of the most common concurrency control techniques in Golang, and its function can be roughly compared to the join() in concurrency control of other languages' mul...

   GOLANG,WAITGROUP,SOURCE CODE     2023-04-26 08:02:01

  The Long Grind Before You Become an Overnight Success

“So, what do you do?”Ugh. I hated that question.The truth was that we were trying to start a new venture but we hadn’t really made any progress.But, instead of just muttering something, I would force myself to enthusiastically pitch our current struggling idea. They would nod along but the skepticism on their face was hard to ignore.And, when I was done, they would sometimes hit me with: “So, is that your full-time thing?” Ugh. What that really meant was: youâ€...

   Startup,process,Waiting,Hardtime,Working     2011-09-29 10:42:54

  Google Dart? Don’t bet against JavaScript

Procotols, programming languages and operating systems all compete in a constantly evolving software ecosystem. Out of that ecosystem only a few technologies truly have staying power and survive over the long term. An example? How about Ethernet? It’s been a survivor over the last thirty years despite existing in a constantly changing landscape that’s been populated with many worthy competitors. Ethernetâ€...

   Google Dart,JavaScript,Comparison,Future     2011-12-06 09:49:39

  Database Testing – Practical Tips and Insight on How to Test Database

Database is one of the inevitable parts of a software application these days. It does not matter at all whether it is web or desktop, client server or peer to peer, enterprise or individual business, database is working at backend. Similarly, whether it is healthcare of finance, leasing or retail, mailing application or controlling spaceship, behind the scene a database is always in action. Moreover, as the complexity of application increases the need of stronger and secure database emerge...

   Database,Tips,Practice     2011-06-29 08:47:40

  Why Dynamic Programming Languages Are Slow

In a statically typed language, the compiler knows the data-type of a variable and how to represent that. In a dynamically-typed language, it has to keep flag describing the actual type of the value of the variable, and the program has to perform a data-dependent branch on that value each time it manipulates a variable.  It also has to look up all methods and operators on it. The knock-on effect of this on branching and data locality is lethal to general purpose runtime performance. T...

   Dynamic language,Slow,Analysis     2012-03-26 15:33:11

  RAM is the new disk...

Jim Gray, a man who has contributed greatly to technology over the past 40 years, is credited with saying that memory is the new disk and disk is the new tape. With the proliferation of "real-time" web applications and systems that require massive scalability, how are hardware and software relating to this meme? Tim Bray, in his discussions about grid computing before it became such a hot topic, pointed out how advances in hardware around RAM and networking were allowing for the creation...

   RAM,Flash,Memory,,Future,Disk     2011-08-12 07:34:27

  Python internals: adding a new statement to Python

This article is an attempt to better understand how the front-end of Python works. Just reading documentation and source code may be a bit boring, so I’m taking a hands-on approach here: I’m going to add an until statement to Python. All the coding for this article was done against the cutting-edge Py3k branch in the Python Mercurial repository mirror. The until statement Some languages, like Ruby, have an until statement, which is the complement to while (until num == 0 is equi...

   Python,New statement,Research,Addition     2012-03-12 07:32:24

  Selling Yourself: Why? and How!

I know many good developers who are under the impression that they either don’t have to sell themselves, or selling themselves is wrong, but is that really true?First let me clarify by defining what I mean by “selling yourself”. I don’t mean “selling out”, I mean marketing yourself, what you’re doing and what your skills are. Especially to your organization.I don’t need to sell myself, my code speaks for itself.Really? Do you think your pristin...

   Sell,Developer,Skill,Show,Resume,CV     2011-08-10 03:19:34

  Key challenges in Agile implementations

7Share6inShareAgile methodology was supposed to be a solution to solve all of our problems. But it looks like it’s not. Some issues appear when companies start to implement Agile in their organizations. A research has been done on seventeen companies using Agile methodology (People over processes: Key people challenges in Agile Development). Authors chose nine of the most often reported issues. I’d like to focus on four, in my opinion, most important. #1 Developer...

   Agile development,Chanllenge,Communication,Business     2011-11-30 02:55:04